A system, such as a software program, computer system, or combination thereof, needs to be tested to ensure the system is operating adequately. A test automation developer may test the system using different system test types, such as functional, performance, and load test types. For each test type, the test automation developer writes a different test case. For example, the test automation developer writes a first test case for a functional test, a second test case for a performance test, a third test for a load test, and so on. Also, not only may the test automation developer want to perform a load test, the test automation developer might want to test the computer system with different loads. Each different load for the load test also requires a different test case.
In some cases, the test code for the test cases may include redundant code. However, the test automation developer includes the redundant test code in each test case. This makes the test code for all the test cases very large with many redundancies. Also, the above approach makes the test automation developer write or incorporate the same test code again and again in different test cases. When any changes need to be made to the redundant code, because the redundant code is included in multiple test cases, the test automation developer needs to edit the test code in multiple places. This may be an inefficient task especially when the redundant code is included in many test cases. Also, because each test case is written separately, each test case is executed separately. This may consume a lot of time and might not yield accurate results due to the tests being executed at different times.